The present invention relates to a method and apparatus for detecting when a collision occurs between two or more binary data signal packets when they are received by a single binary data signal receiver.
Computers are widely used for computation, data processing and in control and communication systems. Frequently, access to a computer is made by way of remote consoles or terminals each tying into the computer. The communications link between the terminals and the computer is advantageosly established by using optical fibers because of their known properties of high signal speed, structural simplicity, low distortion, and isolation from interference. They also compare favorably with coaxial cables and other metallic transmission lines because of their low attenuation and large bandwidth.
By taking advantage of the characteristics of computer communications, systems have been developed which allow many users to use a single computer at the same time. Computer communications are characteristically in the form of short bursts of binary information. Additionally, much of the time that a user is connected to a computer is actually idle time during which no information is being transmitted by either the computer or the user.
Two switching techniques are generally used in computer communication systems to permit non-exclusive use of a computer. These switching techniques are known as the circuit switching technique and the packet switching technique.
The circuit switching technique establishes a connection between a computer and a terminal only when data is to be transmitted. However, because the time required to establish a connection may be very large compared to the actual time of a communication, especially in the case of a short communication, this technique is slow, inefficient and expensive.
In contrast, the packet switching technique maintains the communications connection but transmits the data in the form of packets of binary information. Short communications are transmitted by a single packet while longer or bursty communications are transmitted by a series of packets. The packets are of a duration of about 60 microseconds, and if a communication cannot completely fit on to a single packet, more than one packet is transmitted separated by a gap of about 10 microseconds in duration.
The packets are divided into sections of bit cells each of which contains a bit of binary information. The packet is typically divided into two primary sections, the header and the data, each of which has a different purpose. The header is the portion of the packet which is initially received and contains such information as the address to which the packet is to be sent, the address of the sender of the packet and other information that the particular system requires. Following the header is the data section in which the substance of the communication is contained either wholly for a short communication, or partially for a longer communication. The packet may include an additional section which follows the data section which contains information relating to error checks or to packet linking.
Because packets arrive at the computer from separate terminals at random time intervals, it is possible that packet collisions will occur when more than one packet is received at the same time or when one packet arrives before another packet has been completely received. When a collision of packets is detected, an instruction is sent to retransmit the original data so that another attempt may be made to receive the packet without a collision. If a collision of packets is not detected, the information transmitted is lost since the signal received is unintelligible as it is a sum of the overlapping packets.